#ifndef _BSP_LED_H
#define _BSP_LED_H

#include "gd32f4xx.h"
#include "systick.h"

#define RCU_LED0_PERIPH		RCU_GPIOE
#define LED0_PORT			GPIOE

#define RCU_LED1_PERIPH		RCU_GPIOD
#define LED1_PORT			GPIOD

#define RCU_LED2_PERIPH		RCU_GPIOG
#define LED2_PORT			GPIOG

#define RCU_LED3_PERIPH		RCU_GPIOA
#define LED3_PORT			GPIOA

#define LED0_PIN			GPIO_PIN_3
#define LED1_PIN			GPIO_PIN_7
#define LED2_PIN			GPIO_PIN_3
#define LED3_PIN			GPIO_PIN_5

#define LED0_OFF()			gpio_bit_reset(LED0_PORT, LED0_PIN)
#define LED1_OFF()			gpio_bit_reset(LED1_PORT, LED1_PIN)
#define LED2_OFF()			gpio_bit_reset(LED2_PORT, LED2_PIN)
#define LED3_OFF()			gpio_bit_reset(LED3_PORT, LED3_PIN)

#define LED0_ON()			gpio_bit_set(LED0_PORT, LED0_PIN)
#define LED1_ON()			gpio_bit_set(LED1_PORT, LED1_PIN)
#define LED2_ON()			gpio_bit_set(LED2_PORT, LED2_PIN)
#define LED3_ON()			gpio_bit_set(LED3_PORT, LED3_PIN)

#define LED0_TOGGLE()		gpio_bit_toggle(LED0_PORT, LED0_PIN)
#define LED1_TOGGLE()		gpio_bit_toggle(LED1_PORT, LED1_PIN)
#define LED2_TOGGLE()		gpio_bit_toggle(LED2_PORT, LED2_PIN)
#define LED3_TOGGLE()		gpio_bit_toggle(LED3_PORT, LED3_PIN)

void LED_Init(void);

#endif /* BSP_LED_H */
